CASE 類似於程式語言裡的 if/then/else 語句,用來作邏輯判斷。
CASE
WHEN condition THEN result
[WHEN···]
[ELSE result]
END;
若省略了 ELSE 子句且洽無相符的條件則會返回 NULL。
假設我們作一個問卷調查:您喜歡這個網站嗎? 1.喜歡 2.不喜歡 3.還OK
問卷結果資料表 questionnaire 如下:
| 姓名 | 評價 |
|---|---|
| 李大華 | 1 |
| 李小明 | 2 |
| 張小華 | 2 |
| 林小帥 | 3 |
| 林大帥 | 2 |
| 簡平安 | 3 |
我們可以作以下這個 SQL 查詢:
select 姓名, case 評價
when 1 then '喜歡'
when 2 then '不喜歡'
when 3 then '還OK'
END
FROM questionnaire;
查詢結果如下:
| 姓名 | 評價 |
|---|---|
| 李大華 | 喜歡 |
| 李小明 | 不喜歡 |
| 張小華 | 不喜歡 |
| 林小帥 | 還OK |
| 林大帥 | 不喜歡 |
| 簡平安 | 還OK |
下篇見